<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>Crawler: Crawler::Application Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Crawler
   &#160;<span id="projectnumber">1.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('class_crawler_1_1_application.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="class_crawler_1_1_application-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Crawler::Application Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_application_8hpp_source.html">Application.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:acf656ce91b631690e20404f6b4d01f7f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#acf656ce91b631690e20404f6b4d01f7f">Application</a> ()</td></tr>
<tr class="memdesc:acf656ce91b631690e20404f6b4d01f7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="#acf656ce91b631690e20404f6b4d01f7f">More...</a><br /></td></tr>
<tr class="separator:acf656ce91b631690e20404f6b4d01f7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c8754469bd6c0722a7077e39775867c"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#a2c8754469bd6c0722a7077e39775867c">~Application</a> ()=default</td></tr>
<tr class="memdesc:a2c8754469bd6c0722a7077e39775867c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default destructor.  <a href="#a2c8754469bd6c0722a7077e39775867c">More...</a><br /></td></tr>
<tr class="separator:a2c8754469bd6c0722a7077e39775867c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f14969f49a9cbfb58ae0976aa65223d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#a3f14969f49a9cbfb58ae0976aa65223d">Application</a> (const <a class="el" href="class_crawler_1_1_application.html">Application</a> &amp;application)=delete</td></tr>
<tr class="memdesc:a3f14969f49a9cbfb58ae0976aa65223d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor.  <a href="#a3f14969f49a9cbfb58ae0976aa65223d">More...</a><br /></td></tr>
<tr class="separator:a3f14969f49a9cbfb58ae0976aa65223d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72a0ae0583df3520ae43af8421eec28b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#a72a0ae0583df3520ae43af8421eec28b">Application</a> (<a class="el" href="class_crawler_1_1_application.html">Application</a> &amp;&amp;application)=delete</td></tr>
<tr class="memdesc:a72a0ae0583df3520ae43af8421eec28b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor.  <a href="#a72a0ae0583df3520ae43af8421eec28b">More...</a><br /></td></tr>
<tr class="separator:a72a0ae0583df3520ae43af8421eec28b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebd607d398cd26488c0216b2def97f4e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_crawler_1_1_application.html">Application</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#aebd607d398cd26488c0216b2def97f4e">operator=</a> (const <a class="el" href="class_crawler_1_1_application.html">Application</a> &amp;application)=delete</td></tr>
<tr class="memdesc:aebd607d398cd26488c0216b2def97f4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy assignment operator.  <a href="#aebd607d398cd26488c0216b2def97f4e">More...</a><br /></td></tr>
<tr class="separator:aebd607d398cd26488c0216b2def97f4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31d508ac368f000bd3f4dd6626569279"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_crawler_1_1_application.html">Application</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#a31d508ac368f000bd3f4dd6626569279">operator=</a> (<a class="el" href="class_crawler_1_1_application.html">Application</a> &amp;&amp;application)=delete</td></tr>
<tr class="memdesc:a31d508ac368f000bd3f4dd6626569279"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment operator.  <a href="#a31d508ac368f000bd3f4dd6626569279">More...</a><br /></td></tr>
<tr class="separator:a31d508ac368f000bd3f4dd6626569279"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec89860e70e9f040f5468fc233144cae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#aec89860e70e9f040f5468fc233144cae">setRunning</a> (bool running)</td></tr>
<tr class="memdesc:aec89860e70e9f040f5468fc233144cae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes if application is running.  <a href="#aec89860e70e9f040f5468fc233144cae">More...</a><br /></td></tr>
<tr class="separator:aec89860e70e9f040f5468fc233144cae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09ab3c80a3677f69b6ba6f6a81367ce6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#a09ab3c80a3677f69b6ba6f6a81367ce6">isRunning</a> () const </td></tr>
<tr class="memdesc:a09ab3c80a3677f69b6ba6f6a81367ce6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns if application is running.  <a href="#a09ab3c80a3677f69b6ba6f6a81367ce6">More...</a><br /></td></tr>
<tr class="separator:a09ab3c80a3677f69b6ba6f6a81367ce6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acff7506553bf1a55dced63c1d0b1c2e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_crawler_1_1_website_manager.html">Crawler::WebsiteManager</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#acff7506553bf1a55dced63c1d0b1c2e4">getWebsiteManager</a> ()</td></tr>
<tr class="memdesc:acff7506553bf1a55dced63c1d0b1c2e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns website manager.  <a href="#acff7506553bf1a55dced63c1d0b1c2e4">More...</a><br /></td></tr>
<tr class="separator:acff7506553bf1a55dced63c1d0b1c2e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08d275f1722533ab7ea40b276b3ee712"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_crawler_1_1_website_manager.html">Crawler::WebsiteManager</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#a08d275f1722533ab7ea40b276b3ee712">getWebsiteManager</a> () const </td></tr>
<tr class="memdesc:a08d275f1722533ab7ea40b276b3ee712"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns website manager.  <a href="#a08d275f1722533ab7ea40b276b3ee712">More...</a><br /></td></tr>
<tr class="separator:a08d275f1722533ab7ea40b276b3ee712"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae5500b115428bbe7de9c0451fd3b556"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_crawler_1_1_worker_manager.html">Crawler::WorkerManager</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#aae5500b115428bbe7de9c0451fd3b556">getWorkerManager</a> ()</td></tr>
<tr class="memdesc:aae5500b115428bbe7de9c0451fd3b556"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns worker manager.  <a href="#aae5500b115428bbe7de9c0451fd3b556">More...</a><br /></td></tr>
<tr class="separator:aae5500b115428bbe7de9c0451fd3b556"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb00513d242574057f14d71b60e152bf"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_crawler_1_1_worker_manager.html">Crawler::WorkerManager</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#adb00513d242574057f14d71b60e152bf">getWorkerManager</a> () const </td></tr>
<tr class="memdesc:adb00513d242574057f14d71b60e152bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns worker manager.  <a href="#adb00513d242574057f14d71b60e152bf">More...</a><br /></td></tr>
<tr class="separator:adb00513d242574057f14d71b60e152bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c1b381f01f73dacb6493043302136ae"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#a0c1b381f01f73dacb6493043302136ae">main</a> (const std::vector&lt; std::string &gt; &amp;arguments)</td></tr>
<tr class="memdesc:a0c1b381f01f73dacb6493043302136ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Applications entry point.  <a href="#a0c1b381f01f73dacb6493043302136ae">More...</a><br /></td></tr>
<tr class="separator:a0c1b381f01f73dacb6493043302136ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4db5d3f489384149ec89be2d9a862277"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#a4db5d3f489384149ec89be2d9a862277">onStartup</a> ()</td></tr>
<tr class="memdesc:a4db5d3f489384149ec89be2d9a862277"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets called when application starts up.  <a href="#a4db5d3f489384149ec89be2d9a862277">More...</a><br /></td></tr>
<tr class="separator:a4db5d3f489384149ec89be2d9a862277"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f5866fdfdfd85b3ce2d192eef7efd32"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#a3f5866fdfdfd85b3ce2d192eef7efd32">onMain</a> ()</td></tr>
<tr class="memdesc:a3f5866fdfdfd85b3ce2d192eef7efd32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets called inside the main function.  <a href="#a3f5866fdfdfd85b3ce2d192eef7efd32">More...</a><br /></td></tr>
<tr class="separator:a3f5866fdfdfd85b3ce2d192eef7efd32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a544d41cc0fb2b5f36b44480ea4a3b14f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#a544d41cc0fb2b5f36b44480ea4a3b14f">onShutdown</a> ()</td></tr>
<tr class="memdesc:a544d41cc0fb2b5f36b44480ea4a3b14f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets called when application shuts down.  <a href="#a544d41cc0fb2b5f36b44480ea4a3b14f">More...</a><br /></td></tr>
<tr class="separator:a544d41cc0fb2b5f36b44480ea4a3b14f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fe762aa7cd9d776ef593f690fd7d516"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#a7fe762aa7cd9d776ef593f690fd7d516">onSpawnWorker</a> (<a class="el" href="class_crawler_1_1_worker.html">Crawler::Worker</a> &amp;worker)</td></tr>
<tr class="memdesc:a7fe762aa7cd9d776ef593f690fd7d516"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets called when a worker spawns.  <a href="#a7fe762aa7cd9d776ef593f690fd7d516">More...</a><br /></td></tr>
<tr class="separator:a7fe762aa7cd9d776ef593f690fd7d516"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6bc95edeb44f9338224862365c812d5"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#aa6bc95edeb44f9338224862365c812d5">onDespawnWorker</a> (<a class="el" href="class_crawler_1_1_worker.html">Crawler::Worker</a> &amp;worker)</td></tr>
<tr class="memdesc:aa6bc95edeb44f9338224862365c812d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets called when a worker despawns.  <a href="#aa6bc95edeb44f9338224862365c812d5">More...</a><br /></td></tr>
<tr class="separator:aa6bc95edeb44f9338224862365c812d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9735a84f3ed01419a14e9dc584bd238"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#af9735a84f3ed01419a14e9dc584bd238">onUnsupportedProtocol</a> (<a class="el" href="class_crawler_1_1_worker.html">Crawler::Worker</a> &amp;worker, <a class="el" href="class_crawler_1_1_website.html">Crawler::Website</a> &amp;website)</td></tr>
<tr class="memdesc:af9735a84f3ed01419a14e9dc584bd238"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets called when an unsupported protocol is accessed.  <a href="#af9735a84f3ed01419a14e9dc584bd238">More...</a><br /></td></tr>
<tr class="separator:af9735a84f3ed01419a14e9dc584bd238"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d3c8c2d7f226d33601e96ede098976a"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#a1d3c8c2d7f226d33601e96ede098976a">onRequest</a> (<a class="el" href="class_crawler_1_1_worker.html">Crawler::Worker</a> &amp;worker, <a class="el" href="class_crawler_1_1_website.html">Crawler::Website</a> &amp;website, <a class="el" href="class_crawler_1_1_link.html">Crawler::Link</a> &amp;link, sf::Http &amp;client, sf::Http::Request &amp;request)</td></tr>
<tr class="memdesc:a1d3c8c2d7f226d33601e96ede098976a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets called when a HTTP request is sent.  <a href="#a1d3c8c2d7f226d33601e96ede098976a">More...</a><br /></td></tr>
<tr class="separator:a1d3c8c2d7f226d33601e96ede098976a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1ad5bb1ae7ce57444e5a234fe0582a8"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#af1ad5bb1ae7ce57444e5a234fe0582a8">onResponse</a> (<a class="el" href="class_crawler_1_1_worker.html">Crawler::Worker</a> &amp;worker, <a class="el" href="class_crawler_1_1_website.html">Crawler::Website</a> &amp;website, <a class="el" href="class_crawler_1_1_link.html">Crawler::Link</a> &amp;link, sf::Http &amp;client, sf::Http::Response &amp;response)</td></tr>
<tr class="memdesc:af1ad5bb1ae7ce57444e5a234fe0582a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets called when a HTTP response is received.  <a href="#af1ad5bb1ae7ce57444e5a234fe0582a8">More...</a><br /></td></tr>
<tr class="separator:af1ad5bb1ae7ce57444e5a234fe0582a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43048018281b44cedeb943d856c2bbad"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#a43048018281b44cedeb943d856c2bbad">onParsing</a> (<a class="el" href="class_crawler_1_1_worker.html">Crawler::Worker</a> &amp;worker, <a class="el" href="class_crawler_1_1_website.html">Crawler::Website</a> &amp;website, <a class="el" href="class_crawler_1_1_link.html">Crawler::Link</a> &amp;link, pugi::xml_document &amp;document)</td></tr>
<tr class="memdesc:a43048018281b44cedeb943d856c2bbad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets called when the document is parsed.  <a href="#a43048018281b44cedeb943d856c2bbad">More...</a><br /></td></tr>
<tr class="separator:a43048018281b44cedeb943d856c2bbad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb987ee8ae6f0e6e7f9b1092dd7a4f3f"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#acb987ee8ae6f0e6e7f9b1092dd7a4f3f">onReportLink</a> (const std::string &amp;string)</td></tr>
<tr class="memdesc:acb987ee8ae6f0e6e7f9b1092dd7a4f3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets called when a <a class="el" href="class_crawler_1_1_link.html" title="Utility class which represents a link. ">Link</a> is reported.  <a href="#acb987ee8ae6f0e6e7f9b1092dd7a4f3f">More...</a><br /></td></tr>
<tr class="separator:acb987ee8ae6f0e6e7f9b1092dd7a4f3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdbdf57a6da5d52a8f7b4fb0e87fb422"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#abdbdf57a6da5d52a8f7b4fb0e87fb422">onAddWebsite</a> (<a class="el" href="class_crawler_1_1_website.html">Crawler::Website</a> &amp;website)</td></tr>
<tr class="memdesc:abdbdf57a6da5d52a8f7b4fb0e87fb422"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets called when a new website is added.  <a href="#abdbdf57a6da5d52a8f7b4fb0e87fb422">More...</a><br /></td></tr>
<tr class="separator:abdbdf57a6da5d52a8f7b4fb0e87fb422"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97037c34bec5f50bd7bf1f56456ea555"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#a97037c34bec5f50bd7bf1f56456ea555">onAddLink</a> (<a class="el" href="class_crawler_1_1_website.html">Crawler::Website</a> &amp;website, <a class="el" href="class_crawler_1_1_link.html">Crawler::Link</a> &amp;link)</td></tr>
<tr class="memdesc:a97037c34bec5f50bd7bf1f56456ea555"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets called when a new link to a website is added.  <a href="#a97037c34bec5f50bd7bf1f56456ea555">More...</a><br /></td></tr>
<tr class="separator:a97037c34bec5f50bd7bf1f56456ea555"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45cd98a249e0f0b2755d1acf94c7fa1a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#a45cd98a249e0f0b2755d1acf94c7fa1a">onVisitedWebsites</a> ()</td></tr>
<tr class="memdesc:a45cd98a249e0f0b2755d1acf94c7fa1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets called when all websites has been visited.  <a href="#a45cd98a249e0f0b2755d1acf94c7fa1a">More...</a><br /></td></tr>
<tr class="separator:a45cd98a249e0f0b2755d1acf94c7fa1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ad22222189cada456cad856bcce6b8f32"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; std::string &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crawler_1_1_application.html#ad22222189cada456cad856bcce6b8f32">getArguments</a> () const </td></tr>
<tr class="memdesc:ad22222189cada456cad856bcce6b8f32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns command line arguments.  <a href="#ad22222189cada456cad856bcce6b8f32">More...</a><br /></td></tr>
<tr class="separator:ad22222189cada456cad856bcce6b8f32"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="_application_8hpp_source.html#l00013">13</a> of file <a class="el" href="_application_8hpp_source.html">Application.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="acf656ce91b631690e20404f6b4d01f7f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Crawler::Application::Application </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Default constructor. </p>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00003">3</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a2c8754469bd6c0722a7077e39775867c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual Crawler::Application::~Application </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default destructor. </p>

</div>
</div>
<a class="anchor" id="a3f14969f49a9cbfb58ae0976aa65223d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Crawler::Application::Application </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_crawler_1_1_application.html">Application</a> &amp;&#160;</td>
          <td class="paramname"><em>application</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">application</td><td><a class="el" href="class_crawler_1_1_application.html">Application</a> which gets copied </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a72a0ae0583df3520ae43af8421eec28b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Crawler::Application::Application </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_application.html">Application</a> &amp;&amp;&#160;</td>
          <td class="paramname"><em>application</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Move constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">application</td><td><a class="el" href="class_crawler_1_1_application.html">Application</a> which gets moved </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ad22222189cada456cad856bcce6b8f32"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt; std::string &gt; &amp; Crawler::Application::getArguments </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns command line arguments. </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to a vector with command line arguments </dd></dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00119">119</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="acff7506553bf1a55dced63c1d0b1c2e4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_crawler_1_1_website_manager.html">Crawler::WebsiteManager</a> &amp; Crawler::Application::getWebsiteManager </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns website manager. </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to website manager </dd></dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00019">19</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a08d275f1722533ab7ea40b276b3ee712"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class_crawler_1_1_website_manager.html">Crawler::WebsiteManager</a> &amp; Crawler::Application::getWebsiteManager </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns website manager. </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to website manager </dd></dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00023">23</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="aae5500b115428bbe7de9c0451fd3b556"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_crawler_1_1_worker_manager.html">Crawler::WorkerManager</a> &amp; Crawler::Application::getWorkerManager </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns worker manager. </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to worker manager </dd></dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00028">28</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="adb00513d242574057f14d71b60e152bf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class_crawler_1_1_worker_manager.html">Crawler::WorkerManager</a> &amp; Crawler::Application::getWorkerManager </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns worker manager. </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to worker manager </dd></dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00032">32</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a09ab3c80a3677f69b6ba6f6a81367ce6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Crawler::Application::isRunning </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns if application is running. </p>
<dl class="section return"><dt>Returns</dt><dd>True if application is running </dd></dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00014">14</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a0c1b381f01f73dacb6493043302136ae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Crawler::Application::main </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>arguments</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Applications entry point. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">arguments</td><td>Command line arguments </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code for operating system </dd></dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00037">37</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a97037c34bec5f50bd7bf1f56456ea555"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Crawler::Application::onAddLink </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_website.html">Crawler::Website</a> &amp;&#160;</td>
          <td class="paramname"><em>website</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_link.html">Crawler::Link</a> &amp;&#160;</td>
          <td class="paramname"><em>link</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets called when a new link to a website is added. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">website</td><td><a class="el" href="class_crawler_1_1_website.html">Website</a> which link refers to </td></tr>
    <tr><td class="paramname">link</td><td><a class="el" href="class_crawler_1_1_link.html" title="Utility class which represents a link. ">Link</a> which is added to website </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if link will be added to website </dd></dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00109">109</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="abdbdf57a6da5d52a8f7b4fb0e87fb422"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Crawler::Application::onAddWebsite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_website.html">Crawler::Website</a> &amp;&#160;</td>
          <td class="paramname"><em>website</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets called when a new website is added. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">website</td><td><a class="el" href="class_crawler_1_1_website.html">Website</a> which is added to website manager </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if website will be added to website manager </dd></dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00104">104</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="aa6bc95edeb44f9338224862365c812d5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Crawler::Application::onDespawnWorker </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_worker.html">Crawler::Worker</a> &amp;&#160;</td>
          <td class="paramname"><em>worker</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets called when a worker despawns. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">worker</td><td><a class="el" href="class_crawler_1_1_worker.html">Worker</a> which is despawned </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00075">75</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a3f5866fdfdfd85b3ce2d192eef7efd32"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Crawler::Application::onMain </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets called inside the main function. </p>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00063">63</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a43048018281b44cedeb943d856c2bbad"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Crawler::Application::onParsing </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_worker.html">Crawler::Worker</a> &amp;&#160;</td>
          <td class="paramname"><em>worker</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_website.html">Crawler::Website</a> &amp;&#160;</td>
          <td class="paramname"><em>website</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_link.html">Crawler::Link</a> &amp;&#160;</td>
          <td class="paramname"><em>link</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">pugi::xml_document &amp;&#160;</td>
          <td class="paramname"><em>document</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets called when the document is parsed. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">worker</td><td><a class="el" href="class_crawler_1_1_worker.html">Worker</a> which parses the document </td></tr>
    <tr><td class="paramname">website</td><td><a class="el" href="class_crawler_1_1_website.html">Website</a> the document refers to </td></tr>
    <tr><td class="paramname">link</td><td><a class="el" href="class_crawler_1_1_link.html" title="Utility class which represents a link. ">Link</a> the document refers to </td></tr>
    <tr><td class="paramname">document</td><td>XML document of the link </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if worker will report all links </dd></dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00094">94</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="acb987ee8ae6f0e6e7f9b1092dd7a4f3f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Crawler::Application::onReportLink </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>string</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets called when a <a class="el" href="class_crawler_1_1_link.html" title="Utility class which represents a link. ">Link</a> is reported. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">string</td><td><a class="el" href="class_crawler_1_1_link.html" title="Utility class which represents a link. ">Link</a> which is reported </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if reportLink continues the handling of the link </dd></dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00099">99</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a1d3c8c2d7f226d33601e96ede098976a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Crawler::Application::onRequest </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_worker.html">Crawler::Worker</a> &amp;&#160;</td>
          <td class="paramname"><em>worker</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_website.html">Crawler::Website</a> &amp;&#160;</td>
          <td class="paramname"><em>website</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_link.html">Crawler::Link</a> &amp;&#160;</td>
          <td class="paramname"><em>link</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sf::Http &amp;&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sf::Http::Request &amp;&#160;</td>
          <td class="paramname"><em>request</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets called when a HTTP request is sent. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">worker</td><td><a class="el" href="class_crawler_1_1_worker.html">Worker</a> which parses the document </td></tr>
    <tr><td class="paramname">website</td><td><a class="el" href="class_crawler_1_1_website.html">Website</a> the document refers to </td></tr>
    <tr><td class="paramname">link</td><td><a class="el" href="class_crawler_1_1_link.html" title="Utility class which represents a link. ">Link</a> the document refers to </td></tr>
    <tr><td class="paramname">client</td><td>HTTP client which sends the request </td></tr>
    <tr><td class="paramname">request</td><td>Request which is sent by the client </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if worker will send the request and receive the response </dd></dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00084">84</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="af1ad5bb1ae7ce57444e5a234fe0582a8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Crawler::Application::onResponse </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_worker.html">Crawler::Worker</a> &amp;&#160;</td>
          <td class="paramname"><em>worker</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_website.html">Crawler::Website</a> &amp;&#160;</td>
          <td class="paramname"><em>website</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_link.html">Crawler::Link</a> &amp;&#160;</td>
          <td class="paramname"><em>link</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sf::Http &amp;&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sf::Http::Response &amp;&#160;</td>
          <td class="paramname"><em>response</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets called when a HTTP response is received. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">worker</td><td><a class="el" href="class_crawler_1_1_worker.html">Worker</a> which received the response </td></tr>
    <tr><td class="paramname">website</td><td><a class="el" href="class_crawler_1_1_website.html">Website</a> the document refers to </td></tr>
    <tr><td class="paramname">link</td><td><a class="el" href="class_crawler_1_1_link.html" title="Utility class which represents a link. ">Link</a> the document refers to </td></tr>
    <tr><td class="paramname">client</td><td>HTTP client which received the response </td></tr>
    <tr><td class="paramname">response</td><td>Response which was received by the client </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if worker will parse the body of the response </dd></dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00089">89</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a544d41cc0fb2b5f36b44480ea4a3b14f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Crawler::Application::onShutdown </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets called when application shuts down. </p>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00067">67</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a7fe762aa7cd9d776ef593f690fd7d516"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Crawler::Application::onSpawnWorker </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_worker.html">Crawler::Worker</a> &amp;&#160;</td>
          <td class="paramname"><em>worker</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets called when a worker spawns. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">worker</td><td><a class="el" href="class_crawler_1_1_worker.html">Worker</a> which is spawned </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00071">71</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a4db5d3f489384149ec89be2d9a862277"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Crawler::Application::onStartup </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets called when application starts up. </p>
<dl class="section return"><dt>Returns</dt><dd>True if startup was successfull </dd></dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00058">58</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="af9735a84f3ed01419a14e9dc584bd238"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Crawler::Application::onUnsupportedProtocol </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_worker.html">Crawler::Worker</a> &amp;&#160;</td>
          <td class="paramname"><em>worker</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_website.html">Crawler::Website</a> &amp;&#160;</td>
          <td class="paramname"><em>website</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets called when an unsupported protocol is accessed. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">worker</td><td><a class="el" href="class_crawler_1_1_worker.html">Worker</a> which accesses the unsupported protocol </td></tr>
    <tr><td class="paramname">website</td><td><a class="el" href="class_crawler_1_1_website.html">Website</a> with the unsupported protocol </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00079">79</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a45cd98a249e0f0b2755d1acf94c7fa1a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Crawler::Application::onVisitedWebsites </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets called when all websites has been visited. </p>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00114">114</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="aebd607d398cd26488c0216b2def97f4e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_crawler_1_1_application.html">Application</a>&amp; Crawler::Application::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_crawler_1_1_application.html">Application</a> &amp;&#160;</td>
          <td class="paramname"><em>application</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy assignment operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">application</td><td><a class="el" href="class_crawler_1_1_application.html">Application</a> which gets copied </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to this </dd></dl>

</div>
</div>
<a class="anchor" id="a31d508ac368f000bd3f4dd6626569279"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_crawler_1_1_application.html">Application</a>&amp; Crawler::Application::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_crawler_1_1_application.html">Application</a> &amp;&amp;&#160;</td>
          <td class="paramname"><em>application</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Move assignment operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">application</td><td><a class="el" href="class_crawler_1_1_application.html">Application</a> which gets moved </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to this </dd></dl>

</div>
</div>
<a class="anchor" id="aec89860e70e9f040f5468fc233144cae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Crawler::Application::setRunning </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>running</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Changes if application is running. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">running</td><td>Value of running </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_application_8cpp_source.html#l00009">9</a> of file <a class="el" href="_application_8cpp_source.html">Application.cpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>Source/Crawler/<a class="el" href="_application_8hpp_source.html">Application.hpp</a></li>
<li>Source/Crawler/<a class="el" href="_application_8cpp_source.html">Application.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespace_crawler.html">Crawler</a></li><li class="navelem"><a class="el" href="class_crawler_1_1_application.html">Application</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
  </ul>
</div>
</body>
</html>
